import { createApp } from 'vue'
import App from './App.vue'
import '@/assets/less/index.less' // 从代码1引入的样式
import './assets/main.css' // 从代码2引入的样式
import { createPinia } from 'pinia'
import piniaPersistedState from 'pinia-plugin-persistedstate' // 从代码1引入的 Pinia 持久化插件
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
import zhCn from 'element-plus/dist/locale/zh-cn.mjs' // 从代码2引入的中文配置
import router from './router'

// 创建应用实例
const app = createApp(App)

// 配置 ElementPlus，添加语言包支持
app.use(ElementPlus, {
  locale: zhCn,
})

// 配置 Pinia，添加持久化状态插件
const pinia = createPinia()
pinia.use(piniaPersistedState)
app.use(pinia)

// 使用路由
app.use(router)

// 注册 ElementPlus 图标
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  app.component(key, component)
}

// 挂载应用
app.mount('#app')
